package org.tlipoca.smusersubscribe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.genntii.smdomain.dto.UserSubscribeDTO;
import org.genntii.smdomain.entity.UserSubscribe;
import org.genntii.smdomain.vo.SubscribeNumVO;
import org.genntii.smdomain.vo.UserSubScribeClientVO;
import org.genntii.smdomain.vo.UserSubscribeVO;

import java.util.ArrayList;

public interface UserSubscribeService extends IService<UserSubscribe> {
    ArrayList<UserSubscribeVO> getUserSubscribeChannelListService(Long userId);

    ArrayList<UserSubscribeVO> getUserSubscribeUserListService(Long userId);

    void userSubscribeServiceService(Long subscriberId, UserSubscribeDTO userSubscribeDTO);

    void userCancelSubscribeService(Long subscriberId, UserSubscribeDTO userSubscribeDTO);

    SubscribeNumVO getSubscribeNum(Long userId);

    Byte userSubscribed(Byte type, Long targetId, Long userId);

    ArrayList<UserSubScribeClientVO> subscribe8u(Long userId);

    ArrayList<UserSubScribeClientVO> subscribe8c(Long userId);
}
